package lumis.content.service.serialization;

import lumis.portal.PortalException;
import lumis.portal.serviceinstance.serialization.ServiceInstanceDeserializationContext;
import lumis.portal.serviceinstance.serialization.ServiceInstanceSerializationContext;

/**
 * Manager Interface for Content Service serialization
 * 
 * @version $Revision: 9601 $ $Date: 2008-07-18 15:38:17 -0300 (Fri, 18 Jul 2008) $
 * @since 4.0.8
 */
public interface IContentServiceSerializationManager
{
	/**
	 * Deserialize a content service instance (structure only).
	 * @param serviceInstanceDeserializationContext
	 * @throws PortalException
	 */
	public void deserialize(ServiceInstanceDeserializationContext serviceInstanceDeserializationContext) throws PortalException;

	/**
	 * Deserialize a content service instance (content only).
	 * @param serviceInstanceDeserializationContext context of deserialization
	 * @throws PortalException
	 * @since 4.2.0
	 */
	public void deserializeContent(ServiceInstanceDeserializationContext serviceInstanceDeserializationContext) throws PortalException;

	/**
	 * Serialize a content service instance (content and structure).
	 * @param serviceInstanceSerializationContext
	 * @throws PortalException
	 */
	public void serialize(ServiceInstanceSerializationContext serviceInstanceSerializationContext) throws PortalException;
}
